def check(s1, s2):
    s1_list = list(s1)
    s2_list = list(s2)

    s1_list.sort()
    s2_list.sort()

    if s1_list == s2_list:
        return True
    else:
        return False


def anagram_solution(s1, s2):
    c1 = [0]*26
    c2 = [0]*26

    # 解决大小写问题
    s1 = s1.lower()
    s2 = s2.lower()

    for i in range(len(s1)):
        pos = ord(s1[i]) - ord('a')
        c1[pos] += 1

    for i in range(len(s2)):
        pos = ord(s2[i]) - ord('a')
        c2[pos] += 1

    j = 0
    stillOK = True
    while j < 26 and stillOK:
        if c1[j] == c2[j]:
            j += 1
        else:
            stillOK = False

    return stillOK


def test(s1, s2):
    c1 = [0]*26
    c2 = [0]*26

    s1 = s1.lower()
    s2 = s2.lower()

    for i in range(len(s1)):

        # pos算出来一个值，这个值对应了26个小写字母中的一个
        pos = ord(s1[i]) - ord('a')

        # 遍历到的字母计数器加1
        c1[pos] += 1

    for i in range(len(s2)):
        # pos算出来一个值，这个值对应了26个小写字母中的一个
        pos = ord(s2[i]) - ord('a')

        # 遍历到的字母计数器加1
        c2[pos] += 1

    j = 0
    status = True

    # 遍历比较s1和s2中的字母个数是否一致，就能判断是否为异序词
    while j < 26 and status:

        # 如果对应序号的字母个数相同，则对下一个字母进行检查
        if c1[j] == c2[j]:
            j += 1

        # 如果对应序号的字母个数不相同，则将标记符改为False，表明这两个字符串不是异序词，并返回结构
        else:
            status = False

    return status


if __name__ == "__main__":
    s1 = 'Python'
    s2 = 'typhon'
    print(test(s1, s2))